package cn.com.cifi.mars.bean.vo.supply;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;

/**
 * @author yyd
 */
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "供货确认项目数据汇总VO", description = "供货确认项目数据汇总VO")
public class SupplyConfirmProjectValueVO implements Serializable {

	private static final long serialVersionUID = 1L;

	private Integer roomNum;
	
	private Integer parkingNum;
	
	private BigDecimal saleArea;
	
	private BigDecimal housePrice;
	
	private BigDecimal parkingPrice;
	
	private Integer actualRoomNum;
	
	private Integer actualParkingNum;
	
	private BigDecimal actualArea;
	
	private BigDecimal actualHousePrice;
	
	private BigDecimal actualParkingPrice;
	
	private List<SupplyConfirmProjectMonthValueVO> monthValue;
	
	public Integer getRoomNum() {
		return roomNum;
	}

	public void setRoomNum(Integer roomNum) {
		this.roomNum = roomNum;
	}

	public Integer getParkingNum() {
		return parkingNum;
	}

	public void setParkingNum(Integer parkingNum) {
		this.parkingNum = parkingNum;
	}

	public BigDecimal getSaleArea() {
		return saleArea;
	}

	public void setSaleArea(BigDecimal saleArea) {
		this.saleArea = saleArea;
	}

	public BigDecimal getHousePrice() {
		return housePrice;
	}

	public void setHousePrice(BigDecimal housePrice) {
		this.housePrice = housePrice;
	}

	public BigDecimal getParkingPrice() {
		return parkingPrice;
	}

	public void setParkingPrice(BigDecimal parkingPrice) {
		this.parkingPrice = parkingPrice;
	}

	public Integer getActualRoomNum() {
		return actualRoomNum;
	}

	public void setActualRoomNum(Integer actualRoomNum) {
		this.actualRoomNum = actualRoomNum;
	}

	public Integer getActualParkingNum() {
		return actualParkingNum;
	}

	public void setActualParkingNum(Integer actualParkingNum) {
		this.actualParkingNum = actualParkingNum;
	}

	public BigDecimal getActualArea() {
		return actualArea;
	}

	public void setActualArea(BigDecimal actualArea) {
		this.actualArea = actualArea;
	}

	public BigDecimal getActualHousePrice() {
		return actualHousePrice;
	}

	public void setActualHousePrice(BigDecimal actualHousePrice) {
		this.actualHousePrice = actualHousePrice;
	}

	public BigDecimal getActualParkingPrice() {
		return actualParkingPrice;
	}

	public void setActualParkingPrice(BigDecimal actualParkingPrice) {
		this.actualParkingPrice = actualParkingPrice;
	}

	public List<SupplyConfirmProjectMonthValueVO> getMonthValue(List<String> months) {
		if(monthValue== null) {
			monthValue = getMonthData(months);
		}
		return monthValue;
	}

	public void setMonthValue(List<SupplyConfirmProjectMonthValueVO> monthValue) {
		this.monthValue = monthValue;
	}

	@Override
	public String toString() {
		return "SupplyConfirmProjectValueVO{" +
				"roomNum=" + roomNum +
				", parkingNum=" + parkingNum +
				", saleArea=" + saleArea +
				", housePrice=" + housePrice +
				", parkingPrice=" + parkingPrice +
				", actualRoomNum=" + actualRoomNum +
				", actualParkingNum=" + actualParkingNum +
				", actualArea=" + actualArea +
				", actualHousePrice=" + actualHousePrice +
				", actualParkingPrice=" + actualParkingPrice +
				", monthValue=" + monthValue +
				'}';
	}

	private List<SupplyConfirmProjectMonthValueVO> getMonthData(List<String> months) {
		List<SupplyConfirmProjectMonthValueVO> list = new ArrayList<>();
		for(String month : months) {
			SupplyConfirmProjectMonthValueVO vo = new SupplyConfirmProjectMonthValueVO();
			vo.setName(month);
			list.add(vo);
		}
		return list;
	}
}
